package com.zw.a.basic.a12.demo04_inputstream;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

//案例: 字节输入流入门.
/*
    FileInputStream: 普通的字节输入流, 以字节为单位读取数据.

    构造方法:
        public FileInputStream(String path);
        public FileInputStream(File path);

    成员方法:
        public int read();              一次读一个字节, 并返回读取到的该字节的ASCII码值, 读不到返回-1
        public int read(byte[] bys);    一次读一个字节数组, 并返回读取到的有效字节数,
                                        并将读取到的数据封装到字节数组中, 读不到返回-1
        public void close();
 */
public class Demo01 {
    public static void main(String[] args) throws IOException {
        //1. 创建字节输入流对象, 封装数据源文件.    数据源文件必须存在, 不然报错.
        FileInputStream fis = new FileInputStream("day12/data/1.txt");
        //2. 一次读一个字节
        //2.1 定义变量, 记录读取到的内容.
        int len = 0;
        /*
            (len = fis.read()) != -1 这行代码做了3件事:
                1. 执行 fis.read(),            一次读取一个字节.
                2. 执行 len = fis.read()      将读取到的字节的ASCII码值赋值给变量len
                3. 执行 len != -1             如果len不等于-1, 说明读到内容了, 就进循环.
         */
        while((len = fis.read()) != -1) {
            System.out.println(len);
        }
        //3. 关流.
        fis.close();
    }
}
